//////////////////////////////////////////////////////////////////////////////////////////////////////
// 项目名   : DelegatioAndInhertConstruction
// 文件名   : Construction.h
// 作者     : Aiye
// 日期     : 2025/8/16 16:47
// 邮箱     : 2878548868@qq.com
// 摘要     : 介绍委托构造函数、继承构造函数
//////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef DELEGATIOANDINHERTCONSTRUCTION_CONSTRUCTION_H
#define DELEGATIOANDINHERTCONSTRUCTION_CONSTRUCTION_H
#include <string>

/*Construction 委托构造函数实例*/
class Construction
{
public:
    Construction() = default;
    Construction(const std::string strName , int nAge)
        :_strName(strName),_nAge(nAge)
    {}

    Construction(const std::string& strName , int nAge , double dScore)
        : Construction(strName , nAge) // 委托构造函数
    {
        _dScore = dScore;
    }

private:
    std::string _strName{};
    int _nAge{};
    double _dScore{};
};

/*DerivedConstruction 介绍继承构造函数*/
class DerivedConstruction : public Construction
{
public:
    using Construction::Construction; // 声明基类的构造函数

    DerivedConstruction(const std::string strSex)
        : _strSex(strSex)
    {
    }
private:
    std::string _strSex{};
};

#endif //DELEGATIOANDINHERTCONSTRUCTION_CONSTRUCTION_H